package com.guocloud.medimind.service;

import java.util.Map;

/**
 * 病历模板处理服务接口
 */
public interface TemplateProcessService {
    
    /**
     * 从文本中提取键结构
     * @param textContent 原始文本内容
     * @return 仅包含键的JSON结构（包含病历模板名称）
     */
    Map<String, Object> extractKeysFromText(String textContent);
    
    /**
     * 根据键结构匹配模板
     * @param keysJson 键结构JSON
     * @return 匹配的模板（包含键但不包含值的结构）
     */
    Map<String, Object> matchTemplate(Map<String, Object> keysJson);
    
    /**
     * 生成完整的病历记录
     * @param originalText 原始文本内容
     * @param matchedTemplate 匹配的模板
     * @return 完整的结构化病历记录（包含键和值）
     */
    Map<String, Object> generateFullRecord(String originalText, Map<String, Object> matchedTemplate);
    
    /**
     * 一站式处理文本内容，只需要调用一次大模型
     * 将原始文本直接处理为结构化JSON，同时利用知识库中的模板
     * @param textContent 原始文本内容
     * @return 完整的结构化病历记录（包含键和值）
     */
    Map<String, Object> processSingleStep(String textContent);
} 